import java.util.concurrent.Semaphore;

public class ThreadDemo33 {
    public static void main(String[] args) throws InterruptedException {
        //这里的参数表示最多可申请的资源数
        Semaphore semaphore = new Semaphore(2);
        //申请一个可用资源
        //由于参数为2，所以就算申请了三次资源，最终也只会真正出现两个可用资源
        semaphore.acquire();
        System.out.println("P操作");
        semaphore.acquire();
        System.out.println("P操作");
        semaphore.acquire();
        System.out.println("P操作");
        //释放一个可用资源
        semaphore.release();
    }
}
